"""
    模板语言：
    {{ 变量 }}

    {% 代码段 %}

    {%  一个参数时：变量|过滤器, Book.id | add: 1 <= 2 当前id+1来和2比较
        两个参数时：变量|过滤器:参数 %}， 过滤器最多只能传2个参数，过滤器用来对传入的变量进行修改
        {% if book.name|length > 4 %} 管道|符号的左右不能有多余的空格，否则报错，其次并不是name.length而是通过管道来过滤
        {{ book.pub_date|date:'Y年m月j日' }} 日期的转换管道
"""

"""
    CSRF 跨站请求伪造， 盗用别人的信息，以你的名义进行恶意请求
    比如：服务器返回一个表单进行转账操作，再把转账信息返回给服务器。
    需要判断发送转账信息请求的客户端是不是刚才获取表单界面的客户端，防止回送请求的修改，和返回页面的修改(表单地址被修改为黑客地址，信息丢失)
    防止CSRF需要服务器做安全验证
"""

"""
    验证码主要用来防止暴力请求，原理就是请求页面之前生成一个动态不同的验证码写入到session中
    用户登录的时候，会拿着填写的验证码和session中的验证码比较进行验证

"""